package top.infopub.mgr.sg.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.github.pagehelper.Page;

import top.infopub.generic.GenericDao;
import top.infopub.model.sg.CoopInfo;

/** 合作单位信息(SG_COOP_INFO) **/
public interface CoopInfoDao extends GenericDao<CoopInfo, String> {

    /**
     * 根据单位名查询单位
     * @param coopName 单位名
     * @return 
     * @see
     */
    CoopInfo selectByCoopName(String coopName);
    
    /**
     * 根据单位名和id查询单位记录
     * @param coopName 单位名
     * @param id 单位Id
     * @return 
     * @see
     */
    CoopInfo selectByCoopNameAndId(@Param("coopName")String coopName,
                                   @Param("id")String id);
    
    Page<CoopInfo> selectByDomainWhere(CoopInfo coopInfo);
    
    /**
     * 通过coopCode查询单位名称
     * @param coopId
     * @return 
     * @see
     */
    List<CoopInfo> selectByCoopCode(@Param("coopId")String coopId);
    
    /**
     * 查询所有合作单位为  总包合同的
     */
    List<CoopInfo> selectAll(@Param("zbtypes")String zbtypes,@Param("fbtypes")String fbtypes,@Param("qttypes")String qttypes);

    /**
     * 根据types查询合作企业信息列表
     * @param flag 0：只查询对应types的合作企业信息列表，1：查询指定types以外的合作企业信息列表
     * @param types 类型
     * @return
     */
    List<CoopInfo> queryByIsIncludeTypes(@Param("flag") int flag, @Param("types") String types);
}